Current and future generation DRAM and SDRAM applications utilize very high I/O speeds. As a result, the clock speeds are also very high. The high clock speeds may make aligning phases and setting duty cycles of clocks challenging, as timing windows and margin for error are both very narrow, and updates occurring quickly, leading to frequent counter updates and opportunities for introduction of errors in a counter.